package com.gopay.test.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;

/**
 * 国付宝用户信息表
 * 
 * @UserInfo.java
 * @author zhanglei
 * @2013-1-11 上午10:41:12 www.gopay.com.cn Inc.All rights reserved.
 */
@Entity
@Table(name = "USER_INFO")
public class UserInfo extends BaseEntity {
    private static final long serialVersionUID = -7496202219095355329L;
    private String userId;
    private int version;
    private String email;
    private String operId;
    private String operName;
    private String password;
    private String passwordQues;
    private String passwordQuesAns;
    private String userType;
    private String userStat;
    private Date regTime;
    private Date lastLoginTime;
    private String lastLoginIp;
    private String activateCode;
    private BigDecimal securetyLevel;
    private String userResource;
    private String custId;
    private Date createdTs;
    private Date lastUpdTs;
    private String lastUpdTrancode;
    private int pwdQuesErrNum;
    private int ispwdQuesLock;
    private int pwdErrNum;
    private Date pwdLockTime;
    private Date pwdQuesLockTime;
    private String operDepartment;
    private String operMobile;
    private String operTel;
    private String operPosition;
    
    
    

    @Id
    @Column(name = "USER_ID", unique = true, nullable = false, length = 10)
    public String getUserId() {
        return this.userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    @Version
    @Column(name = "VERSION", nullable = false, precision = 22, scale = 0)
    public int getVersion() {
        return this.version;
    }

    public void setVersion(int version) {
        this.version = version;
    }

    @Column(name = "EMAIL", nullable = true, length = 50)
    public String getEmail() {
        return this.email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Column(name = "OPER_ID", nullable = true, length = 3)
    public String getOperId() {
        return this.operId;
    }

    public void setOperId(String operId) {
        this.operId = operId;
    }
    
    @Column(name = "OPER_NAME", nullable = true, length = 30)
    public String getOperName() {
        return operName;
    }

    public void setOperName(String operName) {
        this.operName = operName;
    }

    @Column(name = "PASSWORD", length = 32)
    public String getPassword() {
        return this.password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Column(name = "PASSWORD_QUES", length = 32)
    public String getPasswordQues() {
        return this.passwordQues;
    }

    public void setPasswordQues(String passwordQues) {
        this.passwordQues = passwordQues;
    }

    @Column(name = "PASSWORD_QUES_ANS", length = 32)
    public String getPasswordQuesAns() {
        return this.passwordQuesAns;
    }

    public void setPasswordQuesAns(String passwordQuesAns) {
        this.passwordQuesAns = passwordQuesAns;
    }

    @Column(name = "USER_TYPE", nullable = false, length = 2)
    public String getUserType() {
        return this.userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    @Column(name = "USER_STAT", nullable = false, length = 2)
    public String getUserStat() {
        return this.userStat;
    }

    public void setUserStat(String userStat) {
        this.userStat = userStat;
    }

    @Column(name = "REG_TIME", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    public Date getRegTime() {
        return this.regTime;
    }

    public void setRegTime(Date regTime) {
        this.regTime = regTime;
    }

    @Column(name = "LAST_LOGIN_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getLastLoginTime() {
        return this.lastLoginTime;
    }

    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    @Column(name = "LAST_LOGIN_IP", length = 50)
    public String getLastLoginIp() {
        return this.lastLoginIp;
    }

    public void setLastLoginIp(String lastLoginIp) {
        this.lastLoginIp = lastLoginIp;
    }

    @Column(name = "ACTIVATE_CODE", length = 10)
    public String getActivateCode() {
        return this.activateCode;
    }

    public void setActivateCode(String activateCode) {
        this.activateCode = activateCode;
    }

    @Column(name = "SECURETY_LEVEL", precision = 22, scale = 0)
    public BigDecimal getSecuretyLevel() {
        return this.securetyLevel;
    }

    public void setSecuretyLevel(BigDecimal securetyLevel) {
        this.securetyLevel = securetyLevel;
    }

    @Column(name = "USER_RESOURCE", length = 10)
    public String getUserResource() {
        return this.userResource;
    }

    public void setUserResource(String userResource) {
        this.userResource = userResource;
    }

    @Column(name = "CUST_ID", length = 10)
    public String getCustId() {
        return this.custId;
    }

    public void setCustId(String custId) {
        this.custId = custId;
    }

    @Column(name = "CREATED_TS", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    public Date getCreatedTs() {
        return this.createdTs;
    }

    public void setCreatedTs(Date createdTs) {
        this.createdTs = createdTs;
    }

    @Column(name = "LAST_UPD_TS", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    public Date getLastUpdTs() {
        return this.lastUpdTs;
    }

    public void setLastUpdTs(Date lastUpdTs) {
        this.lastUpdTs = lastUpdTs;
    }

    @Column(name = "LAST_UPD_TRANCODE", length = 6)
    public String getLastUpdTrancode() {
        return this.lastUpdTrancode;
    }

    public void setLastUpdTrancode(String lastUpdTrancode) {
        this.lastUpdTrancode = lastUpdTrancode;
    }
    /**
     * @return the pwdQuesErrNum
     */
    @Column(name = "PWD_QUES_ERR_NUM", length = 6)
    public int getPwdQuesErrNum() {
        return pwdQuesErrNum;
    }

    /**
     * @param pwdQuesErrNum the pwdQuesErrNum to set
     */
    public void setPwdQuesErrNum(int pwdQuesErrNum) {
        this.pwdQuesErrNum = pwdQuesErrNum;
    }

    /**
     * @return the ispwdQuesLock
     */
    @Column(name = "IS_PWD_QUES_LOCK")
    public int getIspwdQuesLock() {
        return ispwdQuesLock;
    }

    /**
     * @param ispwdQuesLock the ispwdQuesLock to set
     */
    public void setIspwdQuesLock(int ispwdQuesLock) {
        this.ispwdQuesLock = ispwdQuesLock;
    }

    /**
     * @return the pwdErrNum
     */
    @Column(name = "PWD_ERR_NUM", length = 6)
    public int getPwdErrNum() {
        return pwdErrNum;
    }

    /**
     * @param pwdErrNum the pwdErrNum to set
     */
    public void setPwdErrNum(int pwdErrNum) {
        this.pwdErrNum = pwdErrNum;
    }

    /**
     * @return the pwdLockTime
     */
    @Column(name = "PWD_LOCK_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getPwdLockTime() {
        return pwdLockTime;
    }

    /**
     * @param pwdLockTime the pwdLockTime to set
     */
    public void setPwdLockTime(Date pwdLockTime) {
        this.pwdLockTime = pwdLockTime;
    }

    /**
     * @return the pwdQuesLockTime
     */
    @Column(name = "PWD_QUES_LOCK_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getPwdQuesLockTime() {
        return pwdQuesLockTime;
    }

    /**
     * @param pwdQuesLockTime the pwdQuesLockTime to set
     */
    public void setPwdQuesLockTime(Date pwdQuesLockTime) {
        this.pwdQuesLockTime = pwdQuesLockTime;
    }
    
    @Column(name = "OPER_DEPARTMENT")
    public String getOperDepartment() {
        return operDepartment;
    }

    public void setOperDepartment(String operDepartment) {
        this.operDepartment = operDepartment;
    }

    @Column(name = "OPER_MOBILE")
    public String getOperMobile() {
        return operMobile;
    }

    public void setOperMobile(String operMobile) {
        this.operMobile = operMobile;
    }

    @Column(name = "OPER_TEL")
    public String getOperTel() {
        return operTel;
    }

    public void setOperTel(String operTel) {
        this.operTel = operTel;
    }

    @Column(name = "OPER_POSITION")
    public String getOperPosition() {
        return operPosition;
    }

    public void setOperPosition(String operPosition) {
        this.operPosition = operPosition;
    }

}
